Communications networks with a significant number of communication nodes typically employ a manager/agent scheme to control communications between the network communication nodes. In such schemes, the communication nodes are termed "agents", while the nodes which manage communications on the network are termed "managers".
FIG. 1 illustrates one common type of communications network 10 and control scheme therefor, including a plurality of managers 4 which each manage a plurality of agents 6. The plurality of managers 4 may be connected to each other in any one of a number of configurations, including tree (as shown) and star configurations. The various managers 4 may communicate with each other through a higher level node, termed a network manager 2 N (as illustrated), which communicates with all of the managers and the overall network. In other schemes, the managers 4 may communicate directly with each other (not shown). Each node 2, 4, 6 on the network typically will include some type of data processing unit, 2a, 4a, and 6a and memory. As an exemplary illustration in FIG. 1, each node 2, 4, 6 has both ROM 2b, 4b and 6b as well as RAM 2c, 4c and 6c. Each node also should include a separate database memory, 2d, 4d, and 6d, for at least network operational data.
In an object-oriented management scheme, each agent 6 maintains a Management Information dataBase (MIB) in database memories 6d that contains the condition of all of the attributes (commonly termed object instances) of all of the objects of that agent. The managers 4 usually also maintain in database memories 4d a putative copy of the MIB of each agent under its management control. The copy stored at the manager is deemed putative since it may not be identical to the data stored at the agent. The agent's MIB data is assumed to be the most correct copy of the MIB.
As long as the copy of the MIB for an agent stored at the manager is identical to the MIB stored by the agent, the manager and the agent are synchronized. However, various events can occur which would cause the manager to either lose synchronization with one or more of its agents or, at least, not know whether it is synchronized to one or more of its agents. For instance, the manager may simply become disabled for a period of time during which object instances of its agents may be changed, added or deleted. Also, it is possible for a communication link (or association) between a manager and an agent to go down for a period of time. In either event, the manager, when it re-establishes an association with the agent, will not know if its putative copy of the agent's object instances is current, and will need to confirm and/or update its database in accordance with any changes that occurred during the period of non-communication with the agent.
In one prior art resynchronization scheme, each agent maintains an event log in which each and every creation, deletion or change in state of an object instance is recorded. Whenever an event occurs, it is stored in the event log. Also, an M event report is sent from the agent to the manager informing it of the event. There usually is no confirmation of M event reports by the manager. The manager will update its relevant copy of the object instances for the agent accordingly. However, if the communication association between the manager and the agent is down, the manager will not receive the Event Report and, therefore, will no longer be synchronized with the agent.
The object instances in the event log are tagged with, for instance, a time-stamp. The event log is maintained in a circular buffer. After communication between a manager and an agent is re-established, the manager can check the event log and read out every entry in the event log having a tag indicating that the event occurred after the time that the association was lost. This type of resynchronization scheme can be extremely time consuming if the number of events which occurred during the loss of association is significant. In fact, the loss of an association between a manager and an agent is frequently caused by, or at least associated with, a problem in the system that will lead to a significant number of other network events, including changes in the object instances of the agents. Accordingly, a significant number of changes in object instances of the agents frequently occurs precisely when a communication association is lost between a manager and an agent. As an example, the MIB in present network systems typically may have between 500 and 10,000 object instances per agent. Smaller object instances may have on the order of 200 to 400 bytes each. However, larger ones can have 5,000 to 8,000 bytes of information. Future network systems are projected to have substantially increased numbers and sizes of object instances. Accordingly, resynchronization can be rather time consuming.
If the number of events occurring during a loss of association between a manager and an agent exceeds the length of the log, the log can no longer be used for resynchronization, since the earliest events are lost. In such a case, resynchronization can be achieved only by reading the entire MIB database out of the agent into the manager.
Accordingly, it is an object of the present invention to provide an improved resynchronization scheme for a network.
It is another object of the present invention to provide a resynchronization scheme for a network in which the amount of data which must be exchanged to achieve resynchronization is substantially reduced.